1. Field of the Invention
The invention disclosed and claimed herein pertains to a cluster of RAID controllers and a shared pool of storage disks, wherein the controllers configure RAID storage volumes from selected disks, and one or more host servers must be able to access respective volumes. More particularly, the invention pertains to an arrangement or system of the above type wherein a server is able to access a specified RAID volume, without being cognizant of which RAID controller either configured or has ownership of the specified volume.
2. Description of the Related Art
In a RAID data storage scheme, a group or cluster of RAID controllers is generally provided, wherein each RAID controller is a physical entity that a host server talks to or communicates with. Typically, the RAID controllers are associated with a pool of storage disks. A controller can be used to configure or partition portions of the disk storage capacity into one or more RAID storage volumes, wherein each storage volume is represented by a logical unit number (LUN).
At present, when a server or other host seeks to talk to a specified RAID volume, the host must address the particular RAID controller that controls or owns the specified volume at that time. An effort to establish such communication with the specified volume must therefore include an identifier or address for the particular RAID controller, as well as the LUN or other identifier for the specified volume. Thus, from the point of view of the host, the specified volume is always associated with the particular controller. The host sees the particular RAID controller as a single target, with one or more LUNs.
In view of this current arrangement, a host that seeks to access the specified volume must keep track of the RAID controller that controls or has ownership of the specified volume. Initially, this would be the RAID controller that configured the specified RAID volume. However, over time the owning RAID controller could change. For example, the specified RAID volume could be configured by a first RAID controller, which then went down or became inoperable. It would thus become necessary to switch the specified volume to a second RAID controller.
When this occurs, it is essential to ensure that the host is aware of the change in controllers. The host must have such information, so that it can direct subsequent I/O messages for the specified volume to the second RAID controller, rather than to the first. In certain currently available systems, host servers must be provided with a substantial amount of software, for use in keeping track of which RAID controller in a cluster must be used to communicate with each RAID volume. This software could include, for example, a vendor specific multipathing driver stack, or a standard OS multipathing driver stack.